#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "graphisme.h"
#include "affichage.h"
#include "init.h"

void affichage(champs c){
	
	int i = 0 , j = 0 ,k =0 , zero  = 0;
	//========== DEFINITION DE LA COULEUR DE FOND ==================
	eff_ec;
	Color(9,15);
	eff_ec;
	
	//================ NUMEROTATION DE LA BORDURE SUPERIEURE ==============
	
		 /* Gestion de la premiere partie avec les dizaines */
	printf("       ");
	for(  j = 0; j < c->nb_colonnes; j += 1 )
		if(j % 10 == 0)  printf(" %d " , j /10 ); else 	printf("   ");
		
			 /* Gestion de la deuxieme partie avec les numeros */
	printf("\n       ");
	for(  j = 0; j < c->nb_colonnes; j += 1 ){
		if(k >=10) k=0;
		printf(" %d ",k);
		k++;
	}
			/* Affichage du cadre */		
	printf("\n       ");
	for(  j = 0; j < c->nb_colonnes; j += 1 )
		printf(" - ");	
	
		
		//================ NUMEROTATION DE LA BORDURE GAUCHE ==============
		
	printf("\n");
	j=0;k=0;
	for(  i = 0; i < c->nb_lignes; i += 1 )
	{
		if(i % 10 == 0)
			 {printf(" %d " , zero );zero = 1-zero ;}
			else
				printf("   ");
		if(k <10){
			printf("%d | ",k);k++;
		}
		else{
			k=0;
			printf("%d | ",k);
			k++;
		}
		
		//========= MISE EN PLACE DES CASES DU JEU 
		
		for(  j = 0; j < c->nb_colonnes; j += 1 )
		
		/* x pour dire que c est une case vierge */
			if(c->tab[indice(c,i,j)].status==PASVU)       
				printf(" x ");
			else 
				if (c->tab[indice(c,i,j)].status==DEJAVU)
					if(c->tab[indice(c,i,j)].mine==1){
						
						/* M pour dire que c est une case minee */
				 		Color(12,15);
						printf(" M ");
						Color(9,15);
					}else{
						int voiz = nb_mines_voisins(c,i,j);
						if(!voiz)
						
						/* . pour dire que c est une case vide */
						
						printf(" . ",voiz);
						else{
							
							/*choix d une couleur pour les voisins*/
							switch(voiz){
								case 1 : Color(2,15);break;
								case 2 : Color(5,15);break;
								case 3 : Color(14,15);break;
								case 4 : Color(3,15);break;
								case 5 : Color(6,15);break;
							}
							printf(" %d ",voiz);
							Color(9,15);
						}
					}
		printf("\n");
	}
	
	
}






